home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / AMICUS / AMICUS02.ADF / Asm / setjmp.asm < prev    next >
Assembly Source File  |  1989-05-30  |  578b  |  23 lines

  1. ; setjmp.asm 
  2. ; In the C program: have typedef int jmp_buf[13];
  3. ; call with:
  4. ;   setjmp(environ);    where environ is declared as a jmp_buf;
  5. ; and
  6. ;   longjmp(environ,value);  value is the value to be returned to the
  7. ; caller of setjmp.  An integer;
  8.     RORG  0
  9.     XDEF  _setjmp
  10.     XDEF  _longjmp
  11. _setjmp:  movea.l   (sp)+,a1
  12.           movea.l   (sp),a0
  13.           movem.l   sp-a1/d7-d2,(a0)
  14.           moveq.l   #0,d0
  15.           jmp       (a1)
  16. _longjmp: movea.l   4(sp),a0
  17.           move.l    8(sp),d0
  18.           movem.l   (a0),sp-a1/d7-d2
  19.           jmp       (a1)
  20.     END
  21.